#include <stdio.h>
/*
 * 选择排序：
 * 前提：从小到大排序 用数组来存储数值
 * 思想：
 * 每次找到待排序范围内的最小值，放置到待排序范围内的第一个位置。
 * 不断循环缩小待排序范围，直到所有的数值都有序
 *
 * */
/*
 * 函数名：selectionSort
 *
 * 输入：一个无序的数组 arr,数组的长度N
 * 输出：无   （在原数组上进行排序）
 * */
void selectionSort(int arr[],int N){
    for (int j = 0; j < N-1; ++j) {
        //进行第j遍循环，找到最小值，放到第j个位置
        int minPos=j;//min是最小值的索引值
        for (int i = j; i < N; ++i) {
            if(arr[minPos] > arr[i])
                minPos=i;
        }
        if(j!=minPos){
            int tmp =arr[j];
            arr[j]=arr[minPos];
            arr[minPos]=tmp;
        }
    }
}

int main() {
    int arr[5]={34,2,435,3566,22};
    selectionSort(arr,5);
   // printf("Hello, World!\n");
    return 0;
}
